1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.testers;
18
19 import static com.google.common.collect.testing.features.CollectionSize.ONE;
20 import static com.google.common.collect.testing.features.CollectionSize.SEVERAL;
21 import static com.google.common.collect.testing.features.CollectionSize.ZERO;
22
23 import com.google.common.annotations.GwtCompatible;
24 import com.google.common.collect.testing.Helpers;
25 import com.google.common.collect.testing.features.CollectionSize;
26
27 import java.util.Collections;
28 import java.util.List;
29 import java.util.NoSuchElementException;
30 import java.util.SortedSet;
31
32
33
34
35
36
37
38
39 @GwtCompatible
40 public class SortedSetNavigationTester<E> extends AbstractSetTester<E> {
41
42 private SortedSet<E> sortedSet;
43 private List<E> values;
44 private E a;
45 private E b;
46 private E c;
47
48 @Override public void setUp() throws Exception {
49 super.setUp();
50 sortedSet = (SortedSet<E>) getSet();
51 values = Helpers.copyToList(getSubjectGenerator().getSampleElements(
52 getSubjectGenerator().getCollectionSize().getNumElements()));
53 Collections.sort(values, sortedSet.comparator());
54
55
56 if (values.size() >= 1) {
57 a = values.get(0);
58 if (values.size() >= 3) {
59 b = values.get(1);
60 c = values.get(2);
61 }
62 }
63 }
64
65 @CollectionSize.Require(ZERO)
66 public void testEmptySetFirst() {
67 try {
68 sortedSet.first();
69 fail();
70 } catch (NoSuchElementException e) {
71 }
72 }
73
74 @CollectionSize.Require(ZERO)
75 public void testEmptySetLast() {
76 try {
77 sortedSet.last();
78 fail();
79 } catch (NoSuchElementException e) {
80 }
81 }
82
83 @CollectionSize.Require(ONE)
84 public void testSingletonSetFirst() {
85 assertEquals(a, sortedSet.first());
86 }
87
88 @CollectionSize.Require(ONE)
89 public void testSingletonSetLast() {
90 assertEquals(a, sortedSet.last());
91 }
92
93 @CollectionSize.Require(SEVERAL)
94 public void testFirst() {
95 assertEquals(a, sortedSet.first());
96 }
97
98 @CollectionSize.Require(SEVERAL)
99 public void testLast() {
100 assertEquals(c, sortedSet.last());
101 }
102 }